CBMSTEVE.CA - Steve J. Gray's Homepage
CBMSTEVE.CA - Personal pages of Steve J. Gray
Changes Info Prototypes Remakes PET Projects CBM Projects Modding 3D Models KiCad Github Ohio Scientific Other My Software My Collections Facebooks

The PET/CBM User-Port Multi-Board Project

Introduction

Welcome to the "The PET/CBM User-Port Multi-Board" Project Page! This project is long overdue. I've been meaning to work on this board for a long time, and finally got around to it. The PET/CBM Multi-Board is a single board containing the functionality of several boards that were available back in the day, plus some new twists. This one board should be all you need to get your PET connected to all the video, audio, serial and joystick devices one would need. This board should work on all PET/CBM variations with a standard user-port edge connector.

The board has the following features:

User-port Pass-thru

This is a simple pass-thru for all the signals on the user port. Note: PET user ports do not have +5V, so you must get power if needed from the cassette port. There is a power tap on the board. Be careful to get the polarity correct! Also be careful to observe the proper pin numbering as detailed on the board for "top" and "bottom" pins.

Video Outputs and Monitor Compatibility

PET/CBM machines came with different video capabilities depending on the model and/or motherboard and monitor that were installed The early models had an NTSC-compatible 15kHz signal and used a 9" display. Later models came with a larger 12" display, but used a 20kHz signal. The H and V sync signals and video polarity differ between models. This board has a built-in inverter and can be jumpered for any mixture of positive or negative signals.

The Pet Monitor header is the same as the internal connector. You can use this for repairing PETs on a test bench, or just for having a connection outside the case. Set the polarity using the "PET Monitor" jumpers.

Composite video (NTSC or PAL format) must be output at the proper 15.xxx kHz frequency and sync polarity. To change the polarity set the "Composite" jumpers. For 9" PETs composite will use the same polarity (all +). If you have a 12" monitor PET/CBM then you will need to use "-" polarity. In addition, by default it will be outputting 20kHz which is not compatible with a composite signal. You will need to do some extra work to get a proper signal. You can run a program such as my own CRTC configuration utility each time you power on the machine, or you can burn a custom Editor ROM with the screen configuration built-in. I am also working on a special version that will allow toggling different configurations on the fly, letting you pick 20kHz or 15kHz (NTSC or PAL) to switch between signals for internal or external monitors. Please visit Editor ROM Project for additional information.

The RGBI (aka CGA) output is a digital output with 4 lines, giving 16 possible colours. The board has 8 dip switches so you can set both the foreground and background to any combination of the 16 colours. This does NOT change the frequency of the signal! See above.

The "VGA" port lets you connect to a VGA monitor or scan converter. Most VGA monitors expect a frequency of at least 24kHz, however there are a small selection of VGA monitors that will handle 15kHz. For most VGA monitors you will need to connect a scan doubler/converter to upscale the 15kHz signal to 30kHz. The VGA port uses a 1 Volt signal for Red, Green and Blue, and 5V for H and V sync. The colour selection switches for RGBI also feed a video DAC to set the colours for the VGA connector.

Audio Output

There are two audio outputs on the board. There is "CB2" sound and "DAC" sound. CB2 Sound is the sound you hear from the piezo speaker on later PET boards. Early boards do not have an internal speaker. DAC sound is generated from the 8 data lines on the user port. These lines are fed through a Resistor-ladder DAC to convert the digital signal to analog. Several PET programs used the DAC to generate sound or music. With proper software up to 4 voices can be produced. The DAC is compatible with the PETUNIA board and software. Both outputs are available on headers and through the TRRS mini jack connector. To ENABLE the DAC you must put all switches on the "DAC Enable" block to ON, and disable the SERIAL and JOYSTICKS.

Joysticks

There are two Atari-style joystick ports on the board. The PET did not support joysticks natively, so several different methods were devised by hobbyists. One method supports two joysticks, where each joystick uses 4 lines. The 4 directions each have a line, and the fire buttons are handled by simulating the pressing of the LEFT and RIGHT directions at the same time. The other method supports a single joystick, using 5 lines. 4 Lines for direction and one line for the fire button. Use the "JOY Mode" switches to select which joystick mode is required. To enable joysticks you must disable the DAC and SERIAL.

Serial Port

Most PET models did not support serial port communications. Extra addon boards using IEEE or internal connections were required. However, it is possible to do RS-232 communications via the user port by "bit-banging" the lines directly (like is done on the VIC and C64). Again, different methods were used. Use the "SERIAL Config" switches to select which method is needed depending on which software you are running. The PET does not contain serial port firmware like the VIC and C64, so you must load terminal software. There are two TTL serial headers. One is for non-inverted data and the other is for inverted data. Choose the header according to your software and specific connection. WARNING: This board uses TTL serial voltages only. Do NOT connect devices using standard serial voltages as this will damage your computer!!!!

Diagnostic Switch

The Diagnostic switch allows you to enter "diagnostic mode", aka the machine language monitor, when the PET is reset. Since the PET does not have a reset button you will need to install one to make good use of the Dianostic button. Sadly, there is no RESET line on the User-port or cassette port.

Current Status Notes

The schematics are complete, and a board has been designed. A small run of PCB's will be made to verify the design. NOTE: Component values on the schematic may be modified or added when the board is tested. Additional documentation on DIP switch usage will also be added. Stay tuned!

Project History

Schematics and PCB

Here are the schematics, pcb, and board render. This is a work-in-progress and subject to change!

Contact

Page Created: Aug 4/2020. Last updated: Aug 9/2020, 3:15pm EST

Send comments or feedback to Steve Gray(sjgray@rogers.com)